<?xml version="1.0" encoding="utf-8"?>
<xsd:schema xmlns:wstop="http://docs.oasis-open.org/wsn/t-1" xmlns:wsrf-bf="http://docs.oasis-open.org/wsrf/bf-2" xmlns:wsnt="http://docs.oasis-open.org/wsn/b-2" xmlns:wsa="http://www.w3.org/2005/08/addressing" attributeFormDefault="unqualified" elementFormDefault="qualified" targetNamespace="http://docs.oasis-open.org/wsn/b-2" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <xsd:import schemaLocation="http://www.w3.org/2005/08/addressing/ws-addr.xsd" namespace="http://www.w3.org/2005/08/addressing" />
  <xsd:import schemaLocation="http://docs.oasis-open.org/wsrf/bf-2.xsd" namespace="http://docs.oasis-open.org/wsrf/bf-2" />
  <xsd:import schemaLocation="http://docs.oasis-open.org/wsn/t-1.xsd" namespace="http://docs.oasis-open.org/wsn/t-1" />
  <xsd:complexType name="QueryExpressionType" mixed="true">
    <xsd:sequence>
      <xsd:any minOccurs="0" maxOccurs="1" processContents="lax" />
    </xsd:sequence>
    <xsd:attribute name="Dialect" type="xsd:anyURI" use="required" />
  </xsd:complexType>
  <xsd:complexType name="TopicExpressionType" mixed="true">
    <xsd:sequence>
      <xsd:any minOccurs="0" maxOccurs="1" processContents="lax" />
    </xsd:sequence>
    <xsd:attribute name="Dialect" type="xsd:anyURI" use="required" />
    <xsd:anyAttribute />
  </xsd:complexType>
  <xsd:complexType name="FilterType">
    <xsd:sequence>
      <xsd:any minOccurs="0" maxOccurs="unbounded" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:complexType name="SubscriptionPolicyType">
    <xsd:sequence>
      <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="lax" />
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="TopicExpression" type="wsnt:TopicExpressionType" />
  <xsd:element default="true" name="FixedTopicSet" type="xsd:boolean" />
  <xsd:element name="TopicExpressionDialect" type="xsd:anyURI" />
  <xsd:element name="NotificationProducerRP">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="0" maxOccurs="unbounded" ref="wsnt:TopicExpression" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:FixedTopicSet" />
        <xsd:element minOccurs="0" maxOccurs="unbounded" ref="wsnt:TopicExpressionDialect" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wstop:TopicSet" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ConsumerReference" type="wsa:EndpointReferenceType" />
  <xsd:element name="Filter" type="wsnt:FilterType" />
  <xsd:element name="SubscriptionPolicy" type="wsnt:SubscriptionPolicyType" />
  <xsd:element name="CreationTime" type="xsd:dateTime" />
  <xsd:element name="SubscriptionManagerRP">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" ref="wsnt:ConsumerReference" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:Filter" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:SubscriptionPolicy" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:CreationTime" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="SubscriptionReference" type="wsa:EndpointReferenceType" />
  <xsd:element name="Topic" type="wsnt:TopicExpressionType" />
  <xsd:element name="ProducerReference" type="wsa:EndpointReferenceType" />
  <xsd:complexType name="NotificationMessageHolderType">
    <xsd:sequence>
      <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:SubscriptionReference" />
      <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:Topic" />
      <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:ProducerReference" />
      <xsd:element name="Message">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:any minOccurs="1" maxOccurs="1" namespace="##any" processContents="lax" />
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:sequence>
  </xsd:complexType>
  <xsd:element name="NotificationMessage" type="wsnt:NotificationMessageHolderType" />
  <xsd:element name="Notify">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="unbounded" ref="wsnt:NotificationMessage" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:simpleType name="AbsoluteOrRelativeTimeType">
    <xsd:union memberTypes="xsd:dateTime xsd:duration" />
  </xsd:simpleType>
  <xsd:element name="CurrentTime" type="xsd:dateTime" />
  <xsd:element name="TerminationTime" nillable="true" type="xsd:dateTime" />
  <xsd:element name="ProducerProperties" type="wsnt:QueryExpressionType" />
  <xsd:element name="MessageContent" type="wsnt:QueryExpressionType" />
  <xsd:element name="UseRaw">
    <xsd:complexType />
  </xsd:element>
  <xsd:element name="Subscribe">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" name="ConsumerReference" type="wsa:EndpointReferenceType" />
        <xsd:element minOccurs="0" maxOccurs="1" name="Filter" type="wsnt:FilterType" />
        <xsd:element minOccurs="0" maxOccurs="1" name="InitialTerminationTime" nillable="true" type="wsnt:AbsoluteOrRelativeTimeType" />
        <xsd:element minOccurs="0" maxOccurs="1" name="SubscriptionPolicy">
          <xsd:complexType>
            <xsd:sequence>
              <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="lax" />
            </xsd:sequence>
          </xsd:complexType>
        </xsd:element>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="SubscribeResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" name="SubscriptionReference" type="wsa:EndpointReferenceType" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:CurrentTime" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:TerminationTime" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="GetCurrentMessage">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="Topic" type="wsnt:TopicExpressionType" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="GetCurrentMessageResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="SubscribeCreationFailedFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="SubscribeCreationFailedFault" type="wsnt:SubscribeCreationFailedFaultType" />
  <xsd:complexType name="InvalidFilterFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType">
        <xsd:sequence>
          <xsd:element minOccurs="1" maxOccurs="unbounded" name="UnknownFilter" type="xsd:QName" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="InvalidFilterFault" type="wsnt:InvalidFilterFaultType" />
  <xsd:complexType name="TopicExpressionDialectUnknownFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="TopicExpressionDialectUnknownFault" type="wsnt:TopicExpressionDialectUnknownFaultType" />
  <xsd:complexType name="InvalidTopicExpressionFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="InvalidTopicExpressionFault" type="wsnt:InvalidTopicExpressionFaultType" />
  <xsd:complexType name="TopicNotSupportedFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="TopicNotSupportedFault" type="wsnt:TopicNotSupportedFaultType" />
  <xsd:complexType name="MultipleTopicsSpecifiedFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="MultipleTopicsSpecifiedFault" type="wsnt:MultipleTopicsSpecifiedFaultType" />
  <xsd:complexType name="InvalidProducerPropertiesExpressionFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="InvalidProducerPropertiesExpressionFault" type="wsnt:InvalidProducerPropertiesExpressionFaultType" />
  <xsd:complexType name="InvalidMessageContentExpressionFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="InvalidMessageContentExpressionFault" type="wsnt:InvalidMessageContentExpressionFaultType" />
  <xsd:complexType name="UnrecognizedPolicyRequestFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="UnrecognizedPolicy" type="xsd:QName" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnrecognizedPolicyRequestFault" type="wsnt:UnrecognizedPolicyRequestFaultType" />
  <xsd:complexType name="UnsupportedPolicyRequestFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType">
        <xsd:sequence>
          <xsd:element minOccurs="0" maxOccurs="unbounded" name="UnsupportedPolicy" type="xsd:QName" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnsupportedPolicyRequestFault" type="wsnt:UnsupportedPolicyRequestFaultType" />
  <xsd:complexType name="NotifyMessageNotSupportedFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="NotifyMessageNotSupportedFault" type="wsnt:NotifyMessageNotSupportedFaultType" />
  <xsd:complexType name="UnacceptableInitialTerminationTimeFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType">
        <xsd:sequence>
          <xsd:element name="MinimumTime" type="xsd:dateTime" />
          <xsd:element minOccurs="0" name="MaximumTime" type="xsd:dateTime" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnacceptableInitialTerminationTimeFault" type="wsnt:UnacceptableInitialTerminationTimeFaultType" />
  <xsd:complexType name="NoCurrentMessageOnTopicFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="NoCurrentMessageOnTopicFault" type="wsnt:NoCurrentMessageOnTopicFaultType" />
  <xsd:element name="GetMessages">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="0" name="MaximumNumber" type="xsd:nonNegativeInteger" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
      <xsd:anyAttribute />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="GetMessagesResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="0" maxOccurs="unbounded" ref="wsnt:NotificationMessage" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
      <xsd:anyAttribute />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="DestroyPullPoint">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
      <xsd:anyAttribute />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="DestroyPullPointResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
      <xsd:anyAttribute />
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="UnableToGetMessagesFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnableToGetMessagesFault" type="wsnt:UnableToGetMessagesFaultType" />
  <xsd:complexType name="UnableToDestroyPullPointFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnableToDestroyPullPointFault" type="wsnt:UnableToDestroyPullPointFaultType" />
  <xsd:element name="CreatePullPoint">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
      <xsd:anyAttribute />
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="CreatePullPointResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element name="PullPoint" type="wsa:EndpointReferenceType" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
      <xsd:anyAttribute />
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="UnableToCreatePullPointFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnableToCreatePullPointFault" type="wsnt:UnableToCreatePullPointFaultType" />
  <xsd:element name="Renew">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" name="TerminationTime" nillable="true" type="wsnt:AbsoluteOrRelativeTimeType" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="RenewResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:element minOccurs="1" maxOccurs="1" ref="wsnt:TerminationTime" />
        <xsd:element minOccurs="0" maxOccurs="1" ref="wsnt:CurrentTime" />
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="UnacceptableTerminationTimeFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType">
        <xsd:sequence>
          <xsd:element name="MinimumTime" type="xsd:dateTime" />
          <xsd:element minOccurs="0" name="MaximumTime" type="xsd:dateTime" />
        </xsd:sequence>
      </xsd:extension>
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnacceptableTerminationTimeFault" type="wsnt:UnacceptableTerminationTimeFaultType" />
  <xsd:element name="Unsubscribe">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="UnsubscribeResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="UnableToDestroySubscriptionFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="UnableToDestroySubscriptionFault" type="wsnt:UnableToDestroySubscriptionFaultType" />
  <xsd:element name="PauseSubscription">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="PauseSubscriptionResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ResumeSubscription">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:element name="ResumeSubscriptionResponse">
    <xsd:complexType>
      <xsd:sequence>
        <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" />
      </xsd:sequence>
    </xsd:complexType>
  </xsd:element>
  <xsd:complexType name="PauseFailedFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="PauseFailedFault" type="wsnt:PauseFailedFaultType" />
  <xsd:complexType name="ResumeFailedFaultType">
    <xsd:complexContent mixed="false">
      <xsd:extension base="wsrf-bf:BaseFaultType" />
    </xsd:complexContent>
  </xsd:complexType>
  <xsd:element name="ResumeFailedFault" type="wsnt:ResumeFailedFaultType" />
</xsd:schema>